package com.zlk.algorithm.dataStructure.graph.topological;

// 火星词典
// 现有一种使用英语字母的火星语言
// 这门语言的字母顺序对你来说是未知的。
// 给你一个来自这种外星语言字典的字符串列表 words
// words 中的字符串已经 按这门新语言的字母顺序进行了排序 。
// 如果这种说法是错误的，并且给出的 words 不能对应任何字母的顺序，则返回 ""
// 否则，返回一个按新语言规则的 字典递增顺序 排序的独特字符串
// 如果有多个解决方案，则返回其中任意一个
// words中的单词一定都是小写英文字母组成的
// 测试链接 : https://leetcode.cn/problems/alien-dictionary/
// 其实就是反推
//
public class Code04_AlienDictionary {

    public static String alienOrder(String[] words) {
        // 应为字符只有26 个
        int[] inDegree = new int[26];
        for (String word : words) {
            for (int i = 0; i < word.length(); i++) {
                inDegree['a'-word.charAt(i)]=0;
            }
        }
        //通过上次处理，入度为0的就是出现过的字符
        // 入度为-1 的就是没出现过的字符
        return null;
    }
}
